package com.zhengtoudai.injector.component;

import android.app.Activity;

import com.zhengtoudai.injector.PerActivity;
import com.zhengtoudai.injector.module.ActivityModule;
import com.zhengtoudai.ui.activity.AccountSettingActivity;
import com.zhengtoudai.ui.activity.ChangeLoginPassWordActivity;
import com.zhengtoudai.ui.activity.ForgetPasswordActivity;
import com.zhengtoudai.ui.activity.FundRecordActivity;
import com.zhengtoudai.ui.activity.InvestmentActivity;
import com.zhengtoudai.ui.activity.InvestmentRecordActivity;
import com.zhengtoudai.ui.activity.LoginActivity;
import com.zhengtoudai.ui.activity.RechargeActivity;
import com.zhengtoudai.ui.activity.RegisterActivity;
import com.zhengtoudai.ui.activity.TransferActivity;
import com.zhengtoudai.ui.activity.WithDrawActivity;
import com.zhengtoudai.ui.fragment.DelegatioNominisFragment;
import com.zhengtoudai.ui.fragment.HomeFragment;
import com.zhengtoudai.ui.fragment.MyFragment;
import com.zhengtoudai.ui.fragment.MyInvestmentingFragment;
import com.zhengtoudai.ui.fragment.MyRedeemableFragment;
import com.zhengtoudai.ui.fragment.MyRetiredFragment;
import com.zhengtoudai.ui.fragment.TransferDialogFragment;

import dagger.Component;

@PerActivity
@Component(dependencies = AppComponent.class, modules = ActivityModule.class)
public interface ActivityComponent {

    Activity getActivity();

    void inject(ForgetPasswordActivity activity);

    void inject(RegisterActivity activity);

    void inject(LoginActivity activity);

    void inject(HomeFragment fragment);

    void inject(MyFragment fragment);

    void inject(AccountSettingActivity activity);

    void inject(ChangeLoginPassWordActivity activity);

    void inject(RechargeActivity activity);

    void inject(DelegatioNominisFragment fragment);

    void inject(FundRecordActivity activity);

    void inject(WithDrawActivity activity);

    void inject(TransferDialogFragment fragment);

    void inject(TransferActivity activity);

    void inject(InvestmentActivity activity);

    void inject(InvestmentRecordActivity activity);

    void inject(MyInvestmentingFragment fragment);

    void inject(MyRedeemableFragment fragment);

    void inject(MyRetiredFragment fragment);

}

